home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 65.zip
/
BS1 part 65
/
Delitracker v1.21.adf
/
Docs
/
DeliTracker.doc
< prev
next >
Wrap
Text File
|
1992-05-17
|
18KB
|
612 lines
**********************************************************************
* DeliTracker V1.21 *
**********************************************************************
© 1992 by Delirium
Date 15.05.1992
=============================== DISCLAIMER ===========================
DeliTracker (c) by Peter Kunath und Frank Riffel.
This demoversion of DeliTracker is freely distributable under the
following conditions:
Program, document and other files must be distributed in their original
UNMODIFIED form. Of course you can use an archiver like LHarc to make
it available on mailboxes and FTP sites. This program cannot be used
for commercial purposes without written permission from the authors.
The program may be distributed as long as the copying fee is not higher
than $6. The authors can not be made responsible for any damage which
is caused by using this program.
If you like to have the full version send
DM20 if you are inside Germany
$US20 if you are not in Germany
(cash only, no cheques) along with the registration form to the
following address:
Frank Riffel
Merkstr. 27
8129 Wessobrunn
Germany
========================== What is DeliTracker ? =====================
DeliTracker is a soundplayer, which supports several soundformats.
SoundTracker 15 inst., SoundTracker 31 inst., NoiseTracker, ProTracker,
StarTrekker without AM sounds and CustomPlay are internal players.
Additional Players are loaded from disk. This means that you can very
easily add/update players by placing them into the DeliPlayers directory.
DeliTracker is NOT a Songeditor, MIDIsequencer or Digitizer. It is
only thought to play music modules in a comfortable way.
========================== Why use DeliTracker ? =====================
° runs fine in multitasking
° allocates the soundchannels
° correct playspeed in PAL/NTSC (uses timerinterrupts)
° works well with serial.device
° supports PowerPacked and Imploded soundfiles
° supports up to 64 players
° runs fine with 680x0 and Kick2.0
° uses & requires req.library
° Arexx support
° has a configfile
° enforcer and mungwall proof
° supports full CLI or Workbench (ToolTypes) environment
° easy to use & looks good
° has Volume/Balance - slider
° resident cli startup
° supports multiselect
° written 100% in Assembler
° ... and is programmed by Delirium Softdesign
================================= Settings ===========================
Getting Started
Make sure that the req.library is in LIBS:
DeliTracker my be configured at startup time with the following options:
Option Default value and description
---------------------- -----------------------------
config <file> 'ENV:DeliTracker.config'
loads the specified file as a configuration file
module <file> No file, empty module list
Adds the <file> to the module list
playerpath <path> 'DeliPlayers'
Sets the path where DeliTracker loads the external
players.
windowxy<XPos>/<YPos> 0/0
Attempts to open the mainwindow at the given position.
If this fails the window will be opened at 0/0.
prefwinxy<XPos>/<YPos> 0/1
Attempts to open the prefswindow at the given position.
If this fails the window will be opened at 0/1.
volume <volume> 64 (maximal volume)
Sets the volume to <volume>. Where volume can range
from 0 to 64.
balance <balance> 0
Sets the balance to <balance>. Where balance can range
from -64 (left channels only) to 64 (right channels
only)
reqlines <lines> 0 (requester internal default setting)
Specifies the filerequester height in lines.
subsong <number> 0 (first subsong)
Sets the subsong counter to <number> if the player for
the first module in the soundlist supports subsongs.
playing <bool> 1 (first module is playing)
Defines if the first module in the soundlist should be
played, when DeliTracker is started.
window <bool> 1 (mainwindow is visible)
This option lets you specify if DeliTracker should
open its mainwindow at startup time. (Note: You can
only supress the mainwindow from opening, if the
AREXX-Server is running)
filter <bool> 0 (filter off)
Switches the internal lowpass filter on or off.
(Note: On A1000 this switch has no effect)
quick <bool> 1 (module is played immediately after loading)
Defines if a loaded module should begin to play
immediately after loading or if the module is in a
paused state. This option is thought for
synchronisation purposes in ARexxscripts.
random <bool> 0 (sequential order)
Lets you specify weather a Next/Prev-Song event should
take a randomly picked or the following (preceeding)
list entry for loading. This option has only sense if
there are more than 2 entrys in the modulelist.
append <bool> 0 (replace modulelist with new selection)
Lets you specify wether the soundlist should be
appended at the end or replaced by the current
selection. If this option is set a multiselect of
modules from different directories is possible.
songend <bool> 0 (ignore songend signals)
Lets you specify wether songend events should be
ignored or not. SOME players support a notification
of the song end. If this option is set DeliTracker
will pause the module and load the next module in
the list. If only one module is in the soundlist then
it is paused after the song has played once.
timeout <secs> 0 (no timeout)
Lets you specify the amount of time (in secs) after
that DeliTracker will cause a Next-Song event. This
function can be disabled with a value of 0.
The options are not case sensitive!
Starting from the CLI
Open a Shell or CLI window and CD to the directory where DeliTracker is
located. Now you can type 'DeliTracker' followed by none/one/more option(s)
explained above. The options must be separated by a space from the arguments.
If a wrong arument is supplied DeliTracker quits with a short helptext.
Example: 'DeliTracker config DT.config reqlines 18 volume 32 filter 1'
Starting from the Workbench
Open the drawer that contains DeliTracker and start it with a doubleclick.
All options can be set as ToolTypes by using the 'Info'-item from the
Workbench. The options must be separated by a '=' from the arguments.
Invalid Tooltypes are ignored. DeliTracker can be used as 'Default Tool'.
Example:
Config=DT.config
PrefWinXY=0/11
Volume=43
Window=0
The Configuratrion File
A Configuration file contains one or more options with the appropriate
arguments. The only option that is not possible is the 'config' option.
Only one option per line is allowed. You may add comments with ';'.
DeliTracker can create configfiles with the save functions from the
prefswindow. Another way is to create a config file by your own with
an editor or automatically by using the following NewList alias:
'alias ModList NL -hTigfsF "module=\'%P\'" []'.
Example of a configfile:
; my first config(sm|f)ile
windowxy=473/15
random=1
songend=1
timeout=300
reqlines=50
subsong=2
playerpath="Data:DeliPlayers"
;
; modules follow here
;
module="Data:Modules/SonicArranger/MF__Slowmotion1.3.pp"
module="Data:Modules/FutureComposer13/hidden part.pp"
Tooltypes and CLI options have higher predency than the options in a config
file. At startup time DeliTracker tries to open 'ENV:DeliTracker.config' as
default configfile.
=============================== PLAYERS ==============================
Supported players:
° ProTracker/NoiseTracker/SoundTracker15/SoundTracker31/and
StarTrekker w/o AM sounds. INTERNAL
° CustomPlay for special modules which contain their player
(these can't be crunched, they are loaded via LoadSeg() for
relocation). INTERNAL
° all EXTERNAL players are listed in the Players.doc file
============================= PACKED MODULES =========================
DeliTracker automatically detects and decrunches powerpacked and imploded
files.
NOTE: Don't pack custommodules because they are loaded and relocated
via LoadSeg() in oposition to Read(). Furthermore you are not allowed to
crunch modules of a player if 'Packable....NO' is shown in the player
info field for this particular player. This is because the player itself
loads the files rather then using the internal LoadFile() function.
============================== Kickstart 2.0 =========================
The Version for Kickstart 2.0 has some differences to the 1.3 Version:
° the colors are modified for 2.0
° the mainwindow has a Zip-Gadget
° you can select/play a module by simply dragging the module
icon over the mainwindow from DeliTracker (appwindow).
================================= Gadgets ============================
+----------+--+-------------------------------------------------------+--+
| | | [] | | [15]
[1] | ? + +-------------------------------------------------------+ +
| | | [] | | [14]
+---+------+--+--+------+------+------+-----+------+------+-----+-----+--+
[2] | + | | | | | | | | | | |¯¯\ |
+---+ |< | < | << | |> | >> | > | >| | [] | ^ | | | |
[3] | - | | | | | | | | | ¯ | +--+ |
+---+------+-----+------+------+------+-----+------+------+-----+--------+
[4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
[1] open/close Prefs-Window
[2] plays song a little faster
[3] plays song a little slower
[4] previous song (only if more than one file is selected)
[5] previous pattern / sub song
[6] previous sub-song (if available)
[7] play/pause song
[8] next pattern / sub song
[9] next song (only if more than one file is selected)
[10] next sub-song (if available)
[11] stop song, reset patterncounter, reset speed
[12] remove song from memory
[13] filerequester
If enough memory is available DeliTracker will use DoubleBuffering
(that means a song will played until the next song is loaded).
[14] balance control
[15] volume control
================================ Shortcuts ===========================
Nearly all functions that DeliTracker offers can be reached via a
Shortcut. To make the shortcuts easy to remember all functions of the
mainwindow are found on the numeric keypad. The functions of the
prefswindow are the first letter of the function. Note: Shortcuts will
only work if the right window is active.
Shortcuts for the mainwindow:
/ - preferences-window comes up
* - pops loadrequestor up (use SHIFT for selecting more files)
0 - play/pause
1 - stop song (reset patternpointer, reset speed)
+ - increases playspeed
- - decreases playspeed
5 - set patternpointer to next pattern
6 - set patternpointer one pattern back
] and ) - play next song (if more files selected)
[ and ( - play previous song -"-
8 - play next subsong
7 - play previous subsong
. - stop playing, remove sound from memory
9 - decreases the volume
6 - increases the volume
2 - changes the balance in such a way that the left channels
will be played louder
3 - changes the balance in such a way that the right channels
will be played louder
Shortcuts for the prefswindow:
f - toggle filter
q - toggle quickstart
r - toggle randomplay
e - toggle songend detection
p - toggle append
t - activate time gadget
a - add an external player
d - delete selected player
l - load a configfile
s - save a configfile
c - configure selected player (if possible)
o - leave setupwindow
<rcommand> q quits DeliTracker. This shortcut is valid for both windows.
============================== Preferences ===========================
If you press the '?'-Gadget a preferences-window pops up. If you select
a Player some information about this player is shown in the 'playerinfo'
box. Other informations about external Players can be found in the
'Programming.doc', the Player docs and in 'misc/DeliPlayers.i'.
ADD - Load an external player and set the playerpath.
If a player with the same name is already loaded,
the player with the lower version number will be
expunged.
DEL - delete selected player (free mem)
Filter - refer to settings (filter)
Quick - refer to settings (quick)
Random - refer to settings (random)
Songend - refer to settings (songend)
Append - refer to settings (append)
Time - refer to settings (timeout)
Load Config - load and execute a saved configuration
Save Config - save the current settings and the module list
in a configfile
Save List - save only the current module list in a configfile
Config Player - configure the selected player (currently no
player uses this feature; is is used to
provide a player private configuration i.e a
SMUS player could ask you in which dirs to
search for the instruments).
OK - close this window
You can set the playerdirectory by typing the path into the stringgad
(on the lefthand of the ADD gadget) or using the filerequester (ADD).
============================ REXXCOMMANDS ============================
Square brackets mark arguments that may be omitted. All other arguments
must be supplied. See also the REXX examples.
quit - quit DeliTracker
filter <BOOL> - if BOOL = 0 then set filter off else on
quick <BOOL> - if BOOL = 0 then set quickstart off else on
random <BOOL> - if BOOL = 0 then set random off else on
songend <BOOL> - if BOOL = 0 then set songend off else on
append <BOOL> - if BOOL = 0 then set append off else on
timeout <SECS> - set timeout to <SECS>
volume <VOL> - Set volume to <VOL> (VOL: 0 to 64) if possible
balance <BAL> - Set balance to <BAL>, 0 is default, -64 left
only 64 right only (BAL: -64 to 64) if possible
forward - play next pattern
backward - play previous pattern
nextsong - play next song
prevsong - play previous song
nextsubsong - play next subsong
prevsubsong - play previous subsong
faster - increase playspeed
slower - decrease playspeed
loadconfig [FILE] - Load configfile [FILE] if [FILE] was specified
else pop filerequester up
saveconfig [FILE] - Save configfile [FILE] if [FILE] was specified
else pop filerequester up
savelist [FILE] - Save module list to [FILE] if [FILE] was specified
else pop filerequester up
loadplayer [PLAYER] - Load the [PLAYER] if specified, else open loadplayer
requester
deleteplayer <NUMBER> - Remove player number <NUMBER> from memory
configplayer <NUMBER> - Call the configuration routine of the player <NUMBER>
playmod [MODULE] - play [MODULE] if [MODULE] was specified else pop
requester up
playpause - play/pause song
stop - stop song
eject - remove active module from memory
openmainwin - open mainwindow
closemainwin - close mainwindow
openprefswin - open prefs-window
closeprefswin - close prefs-window
status <group> <dependent> - group may be p, m, g
p : player
<dependent> = <playernum> <cmd>
<cmd> returnvalue
nam name string
cre creator string
ver player version number
vol volume 0/1
bal balance 0/1
jmp patternjump 0/1
spd playspeed 0/1
sub subsong 0/1
cfg config 0/1
pck packable 0/1
g : global
<dependent> = <cmd>
<cmd> returnvalue
ver version number
dir playdir string
num players number
led filter 0/1
qst quickstart 0/1
rnd random 0/1
app append 0/1
end songend 0/1
tim timeout number (secs)
mwi Main 0/1
pwi Prefs 0/1
vol current volume number
bal current balance number
ply song is playing or paused
m : Module
<dependent> = <cmd>
<cmd> returnvalue
dir moduledir string
fil filename string
pnr actual PlayerNr number
max selected modules number
num actual position in list number
========================= Problems/Hints/Tricks ======================
Symptom: Preferences window can't be opened. Check the Screenheight.
It must be at least 190 Pixel + Barheight.
The Barheigth depends on the Screenfontheight.
NOTE: Some external players have trouble with >68010 or SuperHires
these problems often can't be fixed. The cause of this lies in the
programmingstyle (e.g the player is part of the module and contains
modulespecific code/data). Although many players are hitting the basic
principles of programming on the amiga. Such things as poking directly
into processorvectors or working with nullpointers are used often. So
don't be astonished if enforcer hits occur. These hits are only from
external players and not from DeliTracker itself !!! Usually the
playspeed of the players are the same on PAL/NTSC machines cause a CIA
rather than a VBlank IRQ is used. But some Players essentially need a
VBlank interrupt, those players have different playspeeds depending on
the selected video mode (PAL/NTSC/Productivity).
For Modem users: All players that use the DeliTracker internal timer
Interrupt should now work well with serial transfers. Players that
generate their own timer interrupt will probably not(!). This is due
to the fact that instead of executing the actual playroutine in the
timer interrupt itself, we cause a SoftInt (so that the real routine
executes in a lower interrupt priority than the RFB interrupt).
================================= CREDITS ============================
We want to thank the following people:
- Our betatesters Stefan, Daniel, Börnie and Manfred for their
bugreports and some good ideas
- Armin Sander (Oktalyzer) and Carsten Schlote (Sonic Arranger)
for creating a player for DeliTracker.
- all on #amiga (IRC), especially Markus Illenseer.
- Colin Fox and Bruce Dawson for the incredibile req.library.
- and all others, who have send replays and modules.
Testconfigurations:
- A500 KS1.3, 512k
- A500 KS1.2, 1MB
- A500 KS1.3, 1MB (Chip)
- A500 KS1.2, 2.3MB
- A500 KS1.2, 2.5MB & Harddisk
- A2000 KS1.2, 1MB
- A2000 KS1.3, 1MB & Harddisk
- A2000 KS1.3, 3MB (1MB Chip) & Harddisk
- A2500 KS1.3, 5MB (1MB Chip) & Harddisk
- A3000 KS1.3, 10MB & Harddisk
- A3000 KS2.04, 10MB & Harddisk
======================================================================
If you find any BUGS, have SUGGESTIONS or REMARKS about this program,
or have a new player please LET ME KNOW.
Frank Riffel
Merkstr. 27
8129 Wessobrunn
Germany